// Reference: https://en.wikipedia.org/wiki/Salsa20
#ifndef SCRYPT_SALSA20_H
#define SCRYPT_SALSA20_H

#include <stdint.h>

#define ROTL(a,b) (((a) << (b)) | ((a) >> (32 - (b))))
#define QR(a, b, c, d)(  \
	b ^= ROTL(a + d, 7), \
	c ^= ROTL(b + a, 9), \
	d ^= ROTL(c + b,13), \
	a ^= ROTL(d + c,18))

void salsa20R8(uint32_t X[16]);

#endif //SCRYPT_SALSA20_H
